CPP = g++
INCLUDE = -Iminisat/core -Iminisat/simp -Iminisat/mtl
OPT = -O3 -DNDEBUG

all: Main.o parser.tab.o lex.yy.o Solver.o
	$(CPP) $(OPT) $(INCLUDE) -o miniwrapper Main.o parser.tab.o lex.yy.o Solver.o
	
lex.yy.o: lex.yy.c parser.tab.cc
	$(CPP) $(OPT) $(INCLUDE) -c lex.yy.c

parser.tab.o: parser.tab.cc
	$(CPP) $(OPT) $(INCLUDE) -c parser.tab.cc

Main.o: Main.C
	$(CPP) $(OPT) $(INCLUDE) -c Main.C

Solver.o: minisat/core/Solver.C
	$(CPP) $(OPT) $(INCLUDE) -c minisat/core/Solver.C

lex.yy.c: lexer.ll
	flex lexer.ll

parser.tab.cc: parser.yy
	bison -d parser.yy

clean:
	rm *.o miniwrapper 

